package com.huawei.hms.support.api.pay.json;

import android.content.Intent;
import com.huawei.hms.support.api.entity.pay.HwWalletInfoRequest;
import com.huawei.hms.support.api.entity.pay.InternalPayRequest;
import com.huawei.hms.support.api.entity.pay.OrderRequest;
import com.huawei.hms.support.api.entity.pay.PayReq;
import com.huawei.hms.support.api.entity.pay.ProductDetailRequest;
import com.huawei.hms.support.api.entity.pay.ProductPayRequest;
import com.huawei.hms.support.api.entity.pay.WithholdRequest;
import com.huawei.hms.support.api.pay.GetWalletUiIntentResult;
import com.huawei.hms.support.api.pay.HwWalletInfoResult;
import com.huawei.hms.support.api.pay.OrderResult;
import com.huawei.hms.support.api.pay.PayResult;
import com.huawei.hms.support.api.pay.PayResultInfo;
import com.huawei.hms.support.api.pay.ProductDetailResult;
import com.huawei.hms.support.api.pay.ProductPayResultInfo;
import o.fjo;

public interface PayClient {
    fjo<PayResult> addWithholdingPlan(WithholdRequest withholdRequest);

    fjo<OrderResult> getOrderDetail(OrderRequest orderRequest);

    PayResultInfo getPayResultInfoFromIntent(Intent intent);

    fjo<ProductDetailResult> getProductDetails(ProductDetailRequest productDetailRequest);

    ProductPayResultInfo getProductPayResultFromIntent(Intent intent);

    fjo<GetWalletUiIntentResult> getWalletUiIntent(int i);

    fjo<PayResult> internalPay(InternalPayRequest internalPayRequest);

    fjo<PayResult> pay(PayReq payReq);

    fjo<PayResult> productPay(ProductPayRequest productPayRequest);

    fjo<HwWalletInfoResult> queryWalletInfo(HwWalletInfoRequest hwWalletInfoRequest);
}
